import java.util.Scanner;
import java.util.Arrays;
public class test {
    /*一个数对 (a,b) 的 数对和 等于 a + b 。最大数对和 是一个数对数组中最大的 数对和 。
    比方说，如果我们有数对 (1,5) ，(2,3) 和 (4,4)，
    最大数对和 为 max(1+5, 2+3, 4+4) = max(6, 5, 8) = 8 。
    给你一个长度为 偶数 n 的数组 nums ，请你将 nums 中的元素分成 n / 2 个数对，使得：
    nums 中每个元素 恰好 在 一个 数对中，且
    最大数对和 的值 最小 。
    请你在最优数对划分的方案下，返回最小的 最大数对和 。*/
    public static int seek(int[] nums) {
        Arrays.sort(nums);
        int left=0,max=Integer.MIN_VALUE;
        for(int i=nums.length-1;i>=0;i--){
            if(left>i)break;
            int temp=nums[i]+nums[left];
            if(temp>max){
                max=temp;
            }
            left++;
        }
        return max;
    }
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int[] nums=new int[n];
        for(int i=0;i<n;i++){
            nums[i]=sc.nextInt();
        }
        int max=seek(nums);
        System.out.println(max);
    }
}
